package notes.java.sort;

/**
 * 冒泡排序：
 * 1、从第1个数开始，和后面的数，两两比较，大就交换位置，否则不动，依次比较下去，最终将最大的放到最后。
 * 2、继续从第1个数开始...会将第2大的数放到倒数第2的位置，直到排序n-1次后，排序完成
 */
public class S2_BubbleSort {
	
	public static void main(String[] args) {
		// 定义一个数组
		int[] num = { 5, 9, 4, 8, 2, 1, 0, 7, 3, 6 };
		
		// 循环n-1次
		for(int i = num.length - 1; i > 0; i--) {
			
			// 从第1个数开始，依次和后面的数比较
			for(int j = 0; j < i; j++) {
				if(num[j] > num[j + 1]) {
					// 交换
					int temp = num[j];
					num[j] = num[j + 1];
					num[j + 1] = temp;
				}
			}
			
			print(num);
			
		}
		
	}
	
	/** 打印输出*/
	private static void print(int[] num) {
		// 输出
		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i] + " ");
		}
		System.out.println();
	}

}
